// 一般情况下，一个项目不可能只有一个组件，一个项目可能有很多个组件，很多个组件会分成若干个模块
// 一个模块我们将他抽离成一个reducer
// 快解键 rxr 可以生成一个子仓库的模版
// const initialState = {}

// export default (state = initialState, { type, payload }) => {
//   switch (type) {

//   case first:
//     return { ...state, ...payload }

//   default:
//     return state
//   }
// }
let initData = { // 初始数据
    name:"zhangsn",
    age:"20",
    address:"北京昌平",
    arr:[]
}
// 只有action可以修改state的数据，但是action需要通过dispacth来触发
let Appreducer = (state = initData,action)=>{
    // 触发dispacth ，action 就可以相应到
    // 在redux中不希望对数据直接进行更改，我们一般对数据进行深拷贝
    let newobj = JSON.parse(JSON.stringify(state))
    console.log(action,"action");
    switch (action.type) {
        case "setname" :
            newobj.name = action.payload
            return newobj
        case "getlist" :
            newobj.arr = action.payload
            return newobj
        default :
           return newobj
    }
}
export default Appreducer